package com.flyqiu.flow.starter;

import com.flyqiu.common.bean.FlyQiuBeanManage;
import com.flyqiu.common.transaction.FlyQiuTransactionManage;
import com.flyqiu.flow.api.cache.FlyQiuFlowCacheManage;
import com.flyqiu.flow.api.candidate.FlyQiyFlowCandidateManage;
import com.flyqiu.flow.api.deploy.FlyQiuFlowDeployManage;
import com.flyqiu.flow.api.element.FlyQiuFlowElementManage;
import com.flyqiu.flow.api.format.FlyQiuFlowBpmnFormatManage;
import com.flyqiu.flow.api.script.FlyQiuFlowScriptActuatorManage;
import com.flyqiu.flow.api.script.FlyQiuFlowVarSerializeManage;
import com.flyqiu.flow.core.DefaultFlyQiuFlowGlobalContext;
import com.flyqiu.flow.core.manage.DefaultFlyQiuFlowModelSourceManage;
import com.flyqiu.flow.event.api.FlyQiuFlowEventManage;

public class FlyQiuFlowSpringGlobalContext extends DefaultFlyQiuFlowGlobalContext {
    public FlyQiuFlowSpringGlobalContext(FlyQiuFlowElementManage flyQiuFlowElementManage,
                                         FlyQiuFlowScriptActuatorManage flyQiuFlowScriptManage,
                                         FlyQiuFlowBpmnFormatManage bpmnFormatManage,
                                         FlyQiuFlowEventManage flyQiuFlowEventManage,
                                         FlyQiuFlowCacheManage flyQiuFlowCacheManage,
                                         FlyQiuFlowDeployManage flyQiuFlowDeployManage,
                                         FlyQiyFlowCandidateManage flowCandidateManage,
                                         FlyQiuFlowVarSerializeManage flyQiuFlowVarSerializeManage,
                                         FlyQiuBeanManage springProcBeanManage,
                                         FlyQiuTransactionManage transactionManage) {
        this.flowElementManage = flyQiuFlowElementManage;
        this.flowScriptManage = flyQiuFlowScriptManage;
        this.bpmnFormatManage = bpmnFormatManage;
        this.flowEventManage = flyQiuFlowEventManage;
        this.flowCacheManage = flyQiuFlowCacheManage;
        this.flowDeployManage = flyQiuFlowDeployManage;
        this.flowCandidateManage = flowCandidateManage;
        this.flowVarSerializeManage = flyQiuFlowVarSerializeManage;
        this.flowBeanManage = springProcBeanManage;
        this.flowTransactionManage = transactionManage;
        this.flowModelSourceManage = new DefaultFlyQiuFlowModelSourceManage(this);
    }

}
